Subtyping and Protection in Persistent Programming Languages

نویسندگان

  • Michael Hollins
  • John Rosenberg
  • Michael Hitchens
چکیده

Information hiding or encapsulation is a protection mechanism which prevents users from directly accessing certain fields of an object. In many cases, particularly in persistent systems, it may be desirable to provide varying degrees of encapsulation of an object. This paper presents the mechanisms for controlling the encapsulation of objects in the Mozzie programming language. Encapsulation is modelled using the language's structural subtyping mechanism and may be enforced by use of the language's capability mechanism. Capabilities allow for the dynamic control of encapsulation, including the ability to increase or decrease the amount of encapsulation enforced via a certain object reference.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

THEORETICAL PEARL Computational monads and subtyping

Subtyping is an important concept and used in many programming languages. One approach to give semantics to languages with subtypes is by translation to target languages without subtyping: Subtypings A ≤ B are interpreted via conversion functions A → B. This paper shows how to extend the method to languages with computational effects, using Moggi’s computational metalanguage.

متن کامل

Inheritance-Based Subtyping

Classes play a dual rôle in mainstream statically-typed object-oriented languages, serving as both object generators and object types. In such languages, inheritance implies subtyping. In contrast, the theoretical language community has viewed this linkage as a mistake and has focused on subtyping relationships determined by the structure of object types, without regard to their underlying impl...

متن کامل

Novel Uses of Category Theory in Modeling OOP

Category theory has been used extensively and successfully in modeling functional programming languages (see, e.g., [22, 23, 17, 20, 25, 15]). However, it has been used to a lesser extent in understanding and modeling object-oriented programming (OOP) languages, mainly focusing on OO languages extant during the early days of OOP research [13, 16, 18, 21]. Recently, we presented a detailed outli...

متن کامل

Datatypes and Subtyping

We study a calculus with both subtyping and datatype deenitions. Our primary goal is to understand the interaction of subtyping with mutually recursive types, which raises diiculties beyond those addressed in previous studies. A second aim is to clarify the relations between structural subtyping and the user-declared subtyping found in languages such as C++, Eiiel, and Java.

متن کامل

A Layered Persistent Architecture for Napier 88

In recent years a range of single programming language systems have been developed that are supported by a persistent store. Examples of such systems include Argus, Galileo, PS-algol and Smalltalk. Although each of these systems is based on a subtly different concept of persistence a common approach is to utilise a layered architecture. This paper presents the design of one such layered archite...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1997